﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using PeachLite.Helpers;
using System.Text;
using System.Web.UI;

namespace PeachLite.Admin
{
    public abstract class DataPage1 : PageBase
    {
        #region 属性

        /// <summary>
        /// 获取数据SQL命令
        /// </summary>
        protected abstract string Sql { get; }

        /// <summary>
        /// 是否需要meta信息
        /// </summary>
        protected virtual bool NeedMeta { get { return false; } }

        #endregion

        /// <summary>
        /// Process
        /// </summary>
        //protected override void Do()
        //{
        //    base.Do();

        //    int idx = 0;
        //    Control c;
        //    Literal ltHtml;
        //    StringBuilder sbHtml = new StringBuilder();
        //    sbHtml.Capacity = 1024;

        //    //假如SQL命令为空则退出
        //    if (string.IsNullOrEmpty(Sql))
        //    {
        //        return;
        //    }

        //    //获取首页数据
        //    SqlDataReader reader = SqlHelper.ExecuteReader(Sql);

        //    //如果获取为空则退出
        //    if (reader == null)
        //    {
        //        return;
        //    }

        //    try
        //    {
        //        //查找父控件
        //        var cph = Page.Master.FindControl("cphMain");

        //        //嵌套母版页查找
        //        if (cph == null)
        //        {
        //            cph = Page.Master.Master.FindControl("cphMain").FindControl("cphMain");
        //        }

        //        //1.先进行单行数据内容html替换
        //        if (reader.Read())
        //        {
        //            //第一行第一列为页面Tilte
        //            Title = reader[0].ToString() + Title;

        //            int start = 0;
        //            if (NeedMeta)
        //            {
        //                Page.Header.Keywords = reader[1].ToString() + "," + Page.Header.Keywords;
        //                Page.Header.Description = reader[2].ToString() + "," + Page.Header.Description;
        //                start = 2;
        //            }

        //            for (int i = 1; i < reader.FieldCount; i++)
        //            {
        //                c = cph.FindControl("lc" + i.ToString());
        //                if (c != null)
        //                {
        //                    ltHtml = (Literal)c;
        //                    ltHtml.Text = reader[i + start].ToString();
        //                }
        //            }
        //        }

        //        //2.再进行列表行数据的html替换
        //        while (reader.NextResult())
        //        {
        //            //查找ltProListX控件加入html
        //            c = cph.FindControl("lt" + idx.ToString());
        //            if (c != null)
        //            {
        //                ltHtml = (Literal)c;
        //                while (reader.Read())
        //                {
        //                    sbHtml.Append(reader[0].ToString());
        //                }
        //                ltHtml.Text = sbHtml.ToString();
        //            }

        //            sbHtml.Clear();
        //            idx++;
        //        }
        //    }
        //    finally
        //    {
        //        if (!reader.IsClosed)
        //        {
        //            reader.Close();
        //            reader.Dispose();
        //        }
        //    }
        //}
    }
}